package hash.t242;


import java.util.HashMap;
import java.util.Map;

public class One {
    public boolean isAnagram(String s, String t) {

        // 长度一致
        if (s.length() != t.length()) {
            // 长度不一致
            return false;
        }

        // 用t的字符做一个Set
        String[] strArr = t.split("");
        String[] sArr = s.split("");
        Map<String, Integer> set = new HashMap(strArr.length);
        for (int i = 0; i < strArr.length; i++) {
            if (set.containsKey(strArr[i])) {
                Integer times = set.get(strArr[i]);
                set.put(strArr[i], times + 1);
            } else {
                set.put(strArr[i], 1);
            }
        }

        // 验证：
        for (int i = 0; i < sArr.length; i++) {
            if (!set.containsKey(sArr[i])) {
                return false;
            } else {
                Integer times = set.get(sArr[i]);
                if (times == 1) {
                    set.remove(sArr[i]);
                } else {
                    set.put(sArr[i], times - 1);
                }
            }
        }

        return true;
    }

}
